package it.unina.uninachi;

import android.os.Bundle;

import android.os.Handler;
import android.os.Message;
import java.io.*;

//fa la domanda e attende la risposta

public class AttendiRispostaThread extends Thread {
	
	protected Handler handler;
	protected String domanda;
	protected DataInputStream in;
	protected DataOutputStream out;
	protected String type;
	
	public AttendiRispostaThread(Handler H,String D){ //per domanda e attesa risposta
		handler = H;
		domanda = new String(D);
		type = new String(domanda.split("_")[0]);
		//divido la stringa come da protocollo: DOMANDA e poi la domanda
		try {
			in = new DataInputStream(WaitConnection.socket.getInputStream());
			out = new DataOutputStream(WaitConnection.socket.getOutputStream());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public void run(){
		try {
			//protocollo
			out.writeUTF(domanda);	//mando la domanda o soluzione
			String risposta = new String(in.readUTF()); //attendo la risposta
			send(risposta); //la rimando indietro
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}
	//per inviare all'activity il messaggio
	private void send(String messaggio){
	    Message msg = handler.obtainMessage();
	    Bundle b = new Bundle();
	    if (type.equals("DOMANDA")){
	    	b.putString("risposta", ""+messaggio);
	    } else if (type.equals("SOLUZIONE")){
	    	b.putString("soluzione", ""+messaggio);
	    }
	    msg.setData(b);
	    handler.sendMessage(msg);	
	}

}
